
#include <Ice/Ice.h>
#include <{SVCINAME}.h>

using namespace std;

namespace {NAMESPACE}
{
    class {MODNAME} : public Ice::Plugin
    {
        public:

         {MODNAME}(const Ice::CommunicatorPtr& communicator) : 
             _communicator(communicator)
         {
         }

         void
         initialize()
         {
             Ice::ObjectAdapterPtr adapter = _communicator->createObjectAdapter("{SVCNAME}");
             adapter->add(new {SVCINAME}, _communicator->stringToIdentity("{SVCNAME}"));
             adapter->activate();
         }

         void
         destroy()
         {
         }

    private:

        Ice::CommunicatorPtr _communicator;
    };
};

extern "C"
{

    ICE_DECLSPEC_EXPORT ::Ice::Plugin*
    createTestso(const Ice::CommunicatorPtr& communicator, const string& name, const Ice::StringSeq& args)
    {
        return new {NAMESPACE}::{MODNAME}(communicator);
    }

}

